<?php

require_once "../com/dtos/Usuario.php";
include("../DB.php");
//conection info
class Usuarios {

/*	public function __construct(){
        //connect to the database.
		mysql_connect(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD);
        mysql_select_db(DATABASE_NAME);
	}
*/
    public function getLista() {
		$query = "SELECT USR.USRPK, USR.USRID, USR.USRNOMBRE, USR.USRTELEXT, USR.USRPASSWORD, USR.CLNPK, CLN.CLNNOMBRE " .
				"from USR_USUARIOS USR LEFT JOIN CLN_CLIENTES CLN ON USR.CLNPK = CLN.CLNPK " .
				"WHERE USRACTIVO = true";
        $result = mysql_query($query);
        $usuario = null;
        $out = array();
        if (mysql_num_rows($result) > 0){
	        while ($row = mysql_fetch_assoc($result)) {
		        $usuario = new Usuario();
		    	$usuario->pk=$row['USRPK'];
		    	$usuario->id = $row['USRID'];
		    	$usuario->nombre = $row['USRNOMBRE'];
				$usuario->telExt = $row['USRTELEXT'];
				$usuario->psw = $row['USRPASSWORD'];
				$usuario->clnPk = $row['CLNPK'];
				$usuario->clnNombre = $row['CLNNOMBRE'];
				$out[] = $usuario;
	        }
        }else{
        	throw new Exception("Usuario no válido");
        }
    	return $out;
    }

    public function nuevo($llegada){
		$usuario = (object) $llegada;
		$query = "SELECT * FROM USR_USUARIOS WHERE USRID = '$usuario->id' AND USRNOMBRE = '$usuario->psw'";
		$result = mysql_query($query);

        if (mysql_num_rows($result) == 0){
	    	$query = "INSERT INTO USR_USUARIOS (USRID,USRNOMBRE,USRTELEXT,USRPASSWORD,CLNPK) " .
	    			 "VALUES (" .
	    			 "'$usuario->id', " .
	    			 "'$usuario->nombre', " .
	    			 "'$usuario->telExt', " .
	    			 "'$usuario->psw', " .
	    			 "$usuario->clnPk) ";
	    	mysql_query($query);
	    	if (mysql_affected_rows() == 1){
	    		return ;
	    	}else{
	    		throw new exception("Error al agregar\n".mysql_error());
	    	}
        }else{
        	throw new exception("Usuario ya existe");
        }

    }

    public function borrar($pk){
    	$query = "UPDATE USR_USUARIOS SET " .
    			"USRACTIVO = false " .
    			"WHERE USRPK = $pk";
    	mysql_query($query);
    	if (mysql_affected_rows() == 1){
    		return ;
    	}else{
    		throw new exception("Error al borrar\n".mysql_error()."\n$query");
    	}
    }

    public function consultar($pk) {
		$query = "SELECT USR.USRPK, USR.USRID, USR.USRNOMBRE, USR.USRTELEXT, USR.USRPASSWORD, USR.CLNPK, CLN.CLNNOMBRE " .
				"from USR_USUARIOS USR LEFT JOIN CLN_CLIENTES CLN ON USR.CLNPK = CLN.CLNPK  " .
				"WHERE USRPK = '$pk' and USRACTIVO = true";
        $result = mysql_query($query);
        $usuario = null;
        if (mysql_num_rows($result) > 0){
        	$row = mysql_fetch_array($result);
	        $usuario = new Usuario();
	    	$usuario->pk=$row['USRPK'];
	    	$usuario->id = $row['USRID'];
	    	$usuario->nombre = $row['USRNOMBRE'];
			$usuario->telExt = $row['USRTELEXT'];
			$usuario->psw = $row['USRPASSWORD'];
			$usuario->clnPk = $row['CLNPK'];
			$usuario->clnNombre = $row['CLNNOMBRE'];
        }else{
        	throw new Exception("Usuario no válido");
        }
    	return $usuario;
    }

    public function edit($llegada){
		$usuario = (object) $llegada;
    	$query = "UPDATE USR_USUARIOS SET " .
    			"USRID = '$usuario->id', " .
    			"USRNOMBRE = '$usuario->nombre', " .
    			"USRTELEXT = '$usuario->telExt', " .
    			"USRPASSWORD = '$usuario->psw', " .
    			"CLNPK = $usuario->clnPk " .
    			"WHERE USRPK = $usuario->pk";
    	mysql_query($query);
    	if (mysql_affected_rows() == 1){
    		return ;
    	}else{
    		throw new exception("Error al editar\n".mysql_error());
    		//throw new exception($query);
    	}
    }

    public function validaLogin($id, $psw){
        $query = "SELECT * from USR_USUARIOS where USRID = '$id' and USRPASSWORD = '$psw' and USRACTIVO = true";
        $result = mysql_query($query);
        $usuario = null;
        if (mysql_num_rows($result) > 0){
        	$row = mysql_fetch_array($result);
	        $usuario = new Usuario();
	    	$usuario->pk=$row['USRPK'];
	    	$usuario->id = $row['USRID'];
	    	$usuario->nombre = $row['USRNOMBRE'];
			$usuario->telExt = $row['USRTELEXT'];
			$usuario->psw = $row['USRPASSWORD'];
			$usuario->clnPk = $row['CLNPK'];
			$usuario->permisos = mysql_query("SELECT PRMPK from CPU_COMBINAPERMISOSUSUARIOS where USRPK = ".$row['USRPK']);
        }else{
        	throw new Exception("Usuario no válido");
        }
    	return $usuario;
    }
}
?>